<?php
//======================================================================================
//
// Function: Search customers from TEO
//
// Programmer: AR
// Date : 2025-03-13
//
// Copyright Reeft A/S (c) - 2025
//======================================================================================
//======================================================================================
// Set session
//======================================================================================
if(!isset($_SESSION))
{
session_start();
}
//======================================================================================
// General
//======================================================================================
include "include/apikey.php";
include "rft_apicall.php";
$returnResult = [];
$returnResult["error"] = "";
//======================================================================================
// Get input
//======================================================================================
if (isset($_SESSION["receivedToken"])) {
$receivedToken = $_SESSION["receivedToken"];
} else {
$returnResult["error"] = "receivedToken missing";
echo json_encode($returnResult);
exit;
}
if (isset($_SESSION["ConsiderOrganizationHeader"])) {
$ConsiderOrganizationHeader = $_SESSION["ConsiderOrganizationHeader"];
} else {
$ConsiderOrganizationHeader = "";
}
if (isset($_SESSION["UseSharedDb"])) {
$UseSharedDb = $_SESSION["UseSharedDb"];
} else {
$UseSharedDb = "";
}
if (isset($_SESSION["TargetOrganization"])) {
$TargetOrganization = $_SESSION["TargetOrganization"];
} else {
$TargetOrganization = "";
}
if(isset($_REQUEST["searchString"])){
$searchString = $_REQUEST["searchString"];
}
else{
echo json_encode([]);
exit;
}
$searchString = urlencode($searchString);
$headers = [
'accept: text/plain',
'ConsiderOrganizationHeader: ' . $ConsiderOrganizationHeader,
'UseSharedDb: ' . $UseSharedDb,
'TargetOrganization: ' . $TargetOrganization,
];
$url = $rftUrlCustomer . '/Customer/Search?SearchToken=' . $searchString .'&OrganizationId=' . $TargetOrganization . '&IncludeDeleted=false&PageSize=150';
$response = fetchPaginatedData($url, $headers);
if (isset($response['error'])) {
$returnResult["error"] = $response['error'];
} else if (isset($response['data']) && is_array($response['data'])) {
// Create new data node
foreach ($response['data'] as $item) {
$tmpArr = array();
$tmpArr["id"] = $item["id"];
$tmpArr["name"] = $item["name"];
$tmpArr["categoryName"] = $item["categoryName"];
$tmpArr["code"] = $item["code"];
$tmpArr["referenceID"] = $item["code"];
$tmpArr["location"] = $item["location"];
$tmpArr["street"] = $item["street"];
$tmpArr["zipCode"] = $item["zipCode"];
$tmpArr["city"] = $item["city"];
$tmpArr["country"] = $item["country"];
$tmpArr["contactName"] = $item["contactName"];
$tmpArr["contactEmail"] = $item["contactEmail"];
$tmpArr["contactPhone"] = $item["contactPhone"];
$tmpArr["contactMobile"] = $item["contactMobile"];
$tmpArr["contactFax"] = $item["contactFax"];
$returnResult[] = $tmpArr;
}
}
echo json_encode($returnResult);